package com.ronan.common.constant;

/**
 * FileName    : com.ronan.common.constant
 * Description :
 *
 * @author : ronan
 * @version : 1.0
 * Create Date : 2021/2/25 17:08
 **/
public interface Constants {

    /** 账户的前缀 */
    String ACCOUNT_PREFIX = "ronan:im:account:";

    /** 路由前缀 */
    String ROUTE_PREFIX = "ronan:im:route:";

    /** 登录状态的前缀 */
    String LOGIN_STATUS_PREFIX = "ronan:im:login:status";

    /**
     * 前缀
     * 当前服务器ip和netty监听port
     * 格式: ip:port
     * Set<NettyInfo>
     */
    String NETTY_INFO_PREFIX = "ronan:im:netty:infos";


    /**
     * 数据包类型
     *
     * @author ronan
     * @date 2021/03/03
     */
    interface MsgConstant {

        /** 登录 */
        int LOGIN = 1;

        /** 心跳 */
        int HEART = 2;

        /** 推送消息 */
        int MESSAGE = 3;

        /** 业务数据报文 */
        int BUSINESS = 4;
    }

    /**
     * 消息类型常量
     *
     * @author ronan
     * @date 2021/03/03
     */
    interface MsgTypeConstant {
        int TXT = 1;
        int IMAGE = 2;
        int VOICE = 3;
        int VIDEO = 4;
        int GEOGRAPHIC = 5;
        int PAPER = 6;
    }

    /**
     * 0: p2pChat 点对点个人消息 1: groupChat 点对多群发消息 2:点对点自定义消息推送
     */
    interface OpeConstant {
        int P2P = 0;
        int GROUP = 1;
    }
}
